//#include "series1.cc"

#include <iostream>
#include <boost/test/unit_test.hpp>
#include <unicode/unistr.h>
#include <unicode/regex.h>
#include <boost/regex/icu.hpp>
#include <caspp/node.h>

#if 1
BOOST_AUTO_TEST_CASE(Map_stuff) {
    std::cout << "Testing Vector:" << std::endl;
    CASpp::NodeRef nR = CASpp::makeVectorNodeRef("");
    BOOST_REQUIRE(!nR->isBoolean());
    BOOST_REQUIRE(!nR->isString());
    BOOST_REQUIRE( nR->isVector());
    BOOST_REQUIRE(!nR->isMap());
    BOOST_REQUIRE(!nR->isInteger());
    BOOST_REQUIRE(!nR->isRational());
    BOOST_REQUIRE(!nR->isReal());
    BOOST_REQUIRE(!nR->isVariable());
    BOOST_REQUIRE(!nR->isSymbol());
    BOOST_REQUIRE(!nR->isFunction());
    CASpp::VectorRef vR = nR->vectorRef();
    BOOST_REQUIRE(vR.get()!=0);
    CASpp::Vector v = *vR;
    v.push_back(CASpp::makeStringNodeRef("A"));
    v.push_back(CASpp::makeStringNodeRef("B"));
    BOOST_REQUIRE(v.size()==2);
    std::cout << "Done..." << std::endl;
}
#elif 0
BOOST_AUTO_TEST_CASE(Map_stuff) {
    std::cout << "Unicode:" << std::endl;
    UErrorCode        status    = U_ZERO_ERROR;
    RegexMatcher *matcher = new RegexMatcher("abc+", 0, status);
    BOOST_REQUIRE(!U_FAILURE(status));
    UnicodeString stringToTest = "Find the abc in this string";
    matcher->reset(stringToTest);
    BOOST_REQUIRE(matcher->find());
    if (matcher->find()) {
       // We found a match.
       int startOfMatch = matcher->start(status);   // string index of start of match.
    }
}
#endif
